Libraries

library(tidyverse)
library(gapminder)
library(plotly)
library(htmlwidgets)

Downloading data

billboard <- read.csv("https://raw.githubusercontent.com/reisanar/datasets/master/all_billboard_summer_hits.csv")
head(billboard)

Interactive plot: Danceability vs. Energy

gapminder_billboard <- filter(billboard, 
                         mode == "major")
billboard_plot <- ggplot(
  data = gapminder_billboard,
  mapping = aes(x = danceability, y = energy, 
                color = time_signature)) +
  geom_point() +
  scale_x_log10() +
  theme_minimal()

ggplotly(billboard_plot)

Model: Loudness vs. Energy

model_billboard <- lm(loudness ~ energy, data = billboard)
summary(model_billboard)

Call:
lm(formula = loudness ~ energy, data = billboard)

Residuals:
     Min       1Q   Median       3Q      Max 
-10.1307  -1.6136   0.2662   1.9161   6.0742 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -16.4940     0.3509  -47.01   <2e-16 ***
energy       12.7112     0.5384   23.61   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.562 on 598 degrees of freedom
Multiple R-squared:  0.4824,    Adjusted R-squared:  0.4815 
F-statistic: 557.3 on 1 and 598 DF,  p-value: < 2.2e-16
ggplot(billboard, aes(x = energy, y = loudness)) +
  geom_point() +
  geom_smooth(method = "lm", 
              formula = "y ~ x") +
  annotate(geom = "text",
           x = 0.75, y = -19,
           label = "An increase in energy of music is \n associated with an increase in loudness")

LS0tDQp0aXRsZTogIkRhdGEgVmlzdWFsaXphdGlvbiAtIE1pbmktUHJvamVjdCAyIg0KYXV0aG9yOiAiU2NvdHQgU2hyaXZlciBgc3Nocml2ZXIyMzgwQGZsb3JpZGFwb2x5LmVkdWAiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIyBMaWJyYXJpZXMNCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZ2FwbWluZGVyKQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KGh0bWx3aWRnZXRzKQ0KYGBgDQoNCiMjIERvd25sb2FkaW5nIGRhdGENCg0KYGBge3J9DQpiaWxsYm9hcmQgPC0gcmVhZC5jc3YoImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9yZWlzYW5hci9kYXRhc2V0cy9tYXN0ZXIvYWxsX2JpbGxib2FyZF9zdW1tZXJfaGl0cy5jc3YiKQ0KaGVhZChiaWxsYm9hcmQpDQpgYGANCg0KIyMgSW50ZXJhY3RpdmUgcGxvdDogRGFuY2VhYmlsaXR5IHZzLiBFbmVyZ3kNCg0KYGBge3J9DQpnYXBtaW5kZXJfYmlsbGJvYXJkIDwtIGZpbHRlcihiaWxsYm9hcmQsIA0KICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPT0gIm1ham9yIikNCmJpbGxib2FyZF9wbG90IDwtIGdncGxvdCgNCiAgZGF0YSA9IGdhcG1pbmRlcl9iaWxsYm9hcmQsDQogIG1hcHBpbmcgPSBhZXMoeCA9IGRhbmNlYWJpbGl0eSwgeSA9IGVuZXJneSwgDQogICAgICAgICAgICAgICAgY29sb3IgPSB0aW1lX3NpZ25hdHVyZSkpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgc2NhbGVfeF9sb2cxMCgpICsNCiAgdGhlbWVfbWluaW1hbCgpDQoNCmdncGxvdGx5KGJpbGxib2FyZF9wbG90KQ0KYGBgDQoNCiMjIE1vZGVsOiBMb3VkbmVzcyB2cy4gRW5lcmd5DQoNCmBgYHtyfQ0KbW9kZWxfYmlsbGJvYXJkIDwtIGxtKGxvdWRuZXNzIH4gZW5lcmd5LCBkYXRhID0gYmlsbGJvYXJkKQ0Kc3VtbWFyeShtb2RlbF9iaWxsYm9hcmQpDQpgYGANCg0KYGBge3J9DQpnZ3Bsb3QoYmlsbGJvYXJkLCBhZXMoeCA9IGVuZXJneSwgeSA9IGxvdWRuZXNzKSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCANCiAgICAgICAgICAgICAgZm9ybXVsYSA9ICJ5IH4geCIpICsNCiAgYW5ub3RhdGUoZ2VvbSA9ICJ0ZXh0IiwNCiAgICAgICAgICAgeCA9IDAuNzUsIHkgPSAtMTksDQogICAgICAgICAgIGxhYmVsID0gIkFuIGluY3JlYXNlIGluIGVuZXJneSBvZiBtdXNpYyBpcyBcbiBhc3NvY2lhdGVkIHdpdGggYW4gaW5jcmVhc2UgaW4gbG91ZG5lc3MiKQ0KYGBgDQoNCg==